<?php

/**
* Return de type van het bestand
*
* 0 = unknown
* 1 = folder
* 2 = bestand
*
* @param File $file
* @return String (bestandstype)
*/
function getFileType($file)
{
		/*** is het een folder? ***/
		if ( is_dir($file) )
			return 1;
		/*** is het een bestand? ***/
		else if ( is_file($file) )
			return 2;
		
		return 0;
}

/**
 * Return leesbare formaat van een bestands grootte
 *
 * @param int $bytes
 * @param int $precision
 * @return String (bestands grootte)
 */
function formatBytes($bytes, $precision = 2) {
	$units = array('bytes', 'kB', 'MB', 'GB', 'TB');

	$bytes = max($bytes, 0);
	$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
	$pow = min($pow, count($units) - 1);

	$bytes /= pow(1024, $pow);

	return round($bytes, $precision) . ' ' . $units[$pow];
}

/*** array van alle bestanden ***/
$files = array();

/*** open de huidige folder ***/
if ( $handle = opendir('/opt/lampp/htdocs/webfy') )
{
	/*** loop door alle bestanden ***/
	while ( false != ( $file = readdir($handle) ) ) {
		/*** Array met bestandsinformatie: [bestandsnaam, bestandstype, bestandsgrootte, laatstbewerkt(datum)] ***/
		$files[] = Array('filename' => $file, 
								 'filetype' => getFileType($file), 
								 'filesize' => formatBytes( filesize($file) ), 
								 'modified' => date('H:i d M Y', filemtime($file) ),
								 'filepath' => '/opt/lampp/htdocs/webfy' );
	}

	/*** sluit folder ***/
	closedir( $handle );
}
/*** sorteer op alfabetische volgorder ***/
sort( $files );

//echo '<pre>';
//echo print_r( $files );
//echo '</pre>';
echo json_encode($files);
?> 

